//"This sample program is provided AS IS and may be used, executed, copied and modified without royalty payment by customer (a) for its own
//instruction and study, (b) in order to develop applications designed to run with an IBM WebSphere product, either for customer's own internal use
//or for redistribution by customer, as part of such an application, in customer's own products. "
//
//(C) COPYRIGHT International Business Machines Corp., 2005,2006
//All Rights Reserved * Licensed Materials - Property of IBM

package com;

/**
 * We need an interface to use proxies and Thread isn't an interface. So, we make
 * an interface which allows the methods on Thread to be proxied.
 * @author Billy Newport and Chris D Johnson
 */
public interface IThread 
{
	/* (non-Javadoc)
	 * @see java.lang.Runnable#run()
	 */
	public abstract void run();
	
	/* (non-Javadoc)
	 * @see java.lang.Thread#countStackFrames()
	 */
	public abstract int countStackFrames();
	
	/* (non-Javadoc)
	 * @see java.lang.Thread#destroy()
	 */
	public abstract void destroy();
	
	/* (non-Javadoc)
	 * @see java.lang.Thread#getContextClassLoader()
	 */
	public abstract ClassLoader getContextClassLoader();
	
	/* (non-Javadoc)
	 * @see java.lang.Thread#interrupt()
	 */
	public abstract void interrupt();
	
	/* (non-Javadoc)
	 * @see java.lang.Thread#isInterrupted()
	 */
	public abstract boolean isInterrupted();
	
	/* (non-Javadoc)
	 * @see java.lang.Thread#setContextClassLoader(java.lang.ClassLoader)
	 */
	public abstract void setContextClassLoader(ClassLoader classLoader);
	
	/* (non-Javadoc)
	 * @see java.lang.Thread#start()
	 */
	public abstract void start();
}